package com.heu.blood.transfusion.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 
 * 
 * @author lhh
 * @email lhh1612325771@163.com
 * @date 2023-08-28 15:21:02
 */
@Data
@TableName("blood_adverse_reaction")
public class BloodAdverseReactionEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 编号
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;
	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_create", fill = FieldFill.INSERT)
	private Date gmtCreate;
	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE)
	private Date gmtModified;
	/**
	 * 不良反应编号
	 */
	private String adverseReactionsNo;
	private String patientName; // 患者姓名
	/**
	 * 性别
	 */
	private String gender;
	/**
	 * 年龄
	 */
	private String age;
	/**
	 * 科室(字典)
	 */
	private String department;
	/**
	 * 病人编号（通用病例号）
	 */
	private String patientId;
	/**
	 * abo血型（字典）
	 */
	private String aboBloodType;
	/**
	 * rh血型
	 */
	private String rhBloodType;
	/**
	 * 诊断
	 */
	private String diagnosis;
	/**
	 * 供血者abo血型
	 */
	private String donorsAboType;
	/**
	 * 供血者rh血型
	 */
	private String donorsRhType;
	/**
	 * 储血号
	 */
	private String bloodReservoirNumber;
	/**
	 * 输血量(ml)
	 */
	private String transfusionCount;
	/**
	 * 红细胞悬液（单位）
	 */
	private String erythrocyteSuspension;
	/**
	 * 浓缩血小板（袋）
	 */
	private String plateletConcentrate;
	/**
	 * 冷沉淀（袋）
	 */
	private String cryoprecipitation;
	/**
	 * 全血（ml）
	 */
	private String wholeBlood;
	/**
	 * 血浆（ml）
	 */
	private String plasma;
	/**
	 * 其它
	 */
	private String other;
	/**
	 * 不良反应（AdverseReaction字典）
	 */
	private String isAdverseReaction;
	/**
	 * 输血史（无/有）
	 */
	private String bloodTransfusionHistory;
	/**
	 * 输血史次数（无/有）
	 */
	private String transfusionHistoryNumber;
	/**
	 * 输血史（其他）
	 */
	private String historyOther;
	/**
	 * 孕（次）
	 */
	private String pregnancy;
	/**
	 * 产（次）
	 */
	private String maternity;

	/**
	 * 发血时间（发血日期）
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date dispatchTime;
	/**
	 * 填报人
	 */
	private String reporter;
	/**
	 * 0表示不展示，1表示展示
	 */
	@TableField(value = "if_show", fill = FieldFill.INSERT) // 创建注解
	private Integer ifShow;
	/**
	 * 1代表已删除，0代表未删除
	 */
	@TableLogic(value = "0", delval = "1")
	@TableField(value = "is_deleted", fill = FieldFill.INSERT) // 创建注解
	private Integer isDeleted;
	/**
	 * 发热
	 */
	private String fever;
	/**
	 * 胃寒
	 */
	private String stomachCold;
	/**
	 * 病人身份证号
	 */
	private String patientIdcard;
	/**
	 * 寒战
	 */
	private String chill;
	/**
	 * 呕吐
	 */
	private String vomiting;
	/**
	 * 头胀
	 */
	private String headDistension;
	/**
	 * 头晕
	 */
	private String dizzy;
	/**
	 * 头痛
	 */
	private String headache;
	/**
	 * 出汗
	 */
	private String sweating;
	/**
	 * 面色苍白
	 */
	private String pale;
	/**
	 * 面色潮红
	 */
	private String flushedComplexion;
	/**
	 * 皮肤紫绀
	 */
	private String cyanosisOfSkin;
	/**
	 * 皮疹
	 */
	private String rash;
	/**
	 * 皮肤瘀点
	 */
	private String ecchymosisOfSkin;
	/**
	 * 荨麻疹
	 */
	private String urticaria;
	/**
	 * 胸闷
	 */
	private String chestTightness;
	/**
	 * 呼吸急促
	 */
	private String shortnessOfBreath;
	/**
	 * 哮喘
	 */
	private String asthma;
	/**
	 * 干咳
	 */
	private String dryCough;
	/**
	 * 四肢麻木
	 */
	private String numbnessOfLimbs;
	/**
	 * 黄疸
	 */
	private String jaundice;
	/**
	 * 血红蛋白尿
	 */
	private String hemoglobinuria;
	/**
	 * 尿少
	 */
	private String oliguria;
	/**
	 * 尿闭
	 */
	private String urosis;
	/**
	 * 溶血
	 */
	private String hemolysis;
	/**
	 * 输血不良反应的表现
	 */
	private String transfusionReaction;
	/**
	 * 反应发生时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date reactionTime;
	/**
	 * 反应处理方法
	 */
	private String reactionProcessingMethod;
	/**
	 * 原因分析
	 */
	private String causeAnalysis;
	/**
	 * 血袋编号
	 */
	private String bloodBagId;
	/**
	 * 发血人姓名
	 */
	private String dispatcherName;
	/**
	 * 取血人姓名
	 */
	private String recipientName;
	/**
	 * 接收时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date receivedTime;
	/**
	 * 接收人姓名
	 */
	private String receiverName;
	/**
	 * 接收核对人姓名
	 */
	private String verifierName;
	/**
	 * 输注开始时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date transfusionStartTime;
	/**
	 * 输注开始人姓名
	 */
	private String transfusionInitiatorName;
	/**
	 * 输注开始复核1代表复核0代表未复核
	 */
	private Integer startTransfusionVerification;
	/**
	 * 结束时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date transfusionEndTime;
	/**
	 * 输注结束人
	 */
	private String transfusionCompletorName;
	/**
	 * 输注结束核对1代表完成核对0代表未完成核对
	 */
	private Integer endTransfusionVerification;
	/**
	 * 手术室
	 */
	private String operationRoom;
	/**
	 * 接收地点
	 */
	private String receivingLocation;
	/**
	 * 血液成分(字典)
	 */
	private String bloodType;
	/**
	 * 规格
	 */
	private BigDecimal bloodCount;

	/**
	 * 输血申请单号
	 */
	private String applicationId;
	/**
	 * 血液申请项对应的id，即配给了那个申请详情
	 */
	private Long bloodApplicationItemId;
	/**
	 * 血液ID
	 */
	private String bloodId;

	/**
	 * 计量单位
	 */
	private String measurementUnit;

}